1. Field of the Invention
The present invention generally relates to messaging methods and, more particularly, to methods for providing feedback in messaging systems.
2. Description of the Related Art
Communication devices and systems in general, and messaging systems particular, continue to gain in popularity. Paging, instant messaging (IM) and text messaging on cell phones (e.g., SMS) are examples of messaging systems which have boomed in recent times. Of course like any communication system, administrators use various tools to monitor the performance of messaging systems and, when possible, attune system resources to improve performance in response to monitored events.
One important performance characteristic that system administrators will typically monitor in messaging systems is the number of lost or dropped messages, as well as other messaging “events” which may be relevant for system performance. In some types of messaging services, e.g., those which provide “guaranteed” delivery of each message, the delivery semantics provide feedback which can be used for this purpose. For example, in some message delivery services, a sending node transmits a message to a receiving node and awaits an acknowledgement signal from the receiving node. If the sending node does not receive an acknowledgment signal, e.g., within a predetermined time period, the sending node will retransmit the message to the receiving node. This process can continue until the sending node receives an acknowledgement signal from the receiving node for this particular message, thereby effectively guaranteeing delivery of messages. The received acknowledgment messages, as well as the number of required retransmissions, can be counted and used for message system management purposes.
On the other hand, not all messaging systems provide guaranteed delivery. Various quality-of-service (QoS) approaches to messaging are possible. One such alternative is commonly referred to as “best efforts” messaging. In best efforts messaging systems, messages are transmitted by a sending node and the system is designed to enhance the likelihood of delivery of the message as best possible. However, no explicit feedback is returned from the sender regarding its receipt of the transmitted message. Although best efforts messaging systems provide a lower quality of service than guaranteed delivery messaging systems (at least in terms of ultimate message delivery percentages), best efforts systems are still quite popular for some implementations because they require less bandwidth per message since they do not use bandwidth for, e.g., the transmission of acknowledgement messages.
One example of a best efforts messaging service can be found in the Events Service defined for high availability systems by the Service Availability Forum (SAF). High-availability systems (also known as HA systems) are systems that are implemented primarily for the purpose of improving the availability of services which the systems provide. The Events Service provides a publish/subscribe model for system events which facilitate monitoring those events in a manner which enables entities to provide desired level of availability. However, as defined, the Events Service is a best efforts type of messaging service, thus establishing a certain tension between its role within a high availability standard and its light-weight design.
Accordingly, it would be desirable to provide some feedback in best efforts message delivery methods which would enable a system administrator, or the like, to address failure modes in such messaging methods. However, it would also be desirable to do so without greatly increasing the resources used to handle message delivery.